1. Field of the Invention
The invention relates to sharing information and multimedia content, and controlling its behavior among networked devices having local network applications. More particularly, the invention relates to sharing multimedia content between local network devices, including mobile communication devices, using wide area networks and broadband wireless networks.
2. Description of the Related Art
Recent years have seen a significant increase in the adoption of local network protocols, such as Universal Plug and Play (UPnP™) and Digital Living Network Alliance (DLNA) specifications for media sharing in many consumer devices, such as televisions, digital video recorders (DVRs), set top boxes and music players. Such specifications also can be used to share information with and control other devices, such as home gateways, lighting equipment controllers and home temperature controllers. Applications supporting UPnP and DLNA also are built into many PC-based applications, such as Windows Media Player. For example, a UPnP-based application may be used to transmit a photo from a mobile phone to a DLNA-compatible printer at home for printing, a television for display and a set top box for long-term archival. Similarly a mobile phone can also interact with a home lighting controller to adjust lighting conditions in a home. As UPnP/DLNA forums have specified an extensive set of features for sharing content and controlling media sessions, it would be advantageous if the same protocols and applications can be used for sharing content, controlling media sessions and managing device behavior not just between devices in a local network or a local broadcast domain, but more generically across any network. However, as UPnP applications rely on network based multicast for discovery, conventional UPnP devices are not able to discover each other and share content over a wide-area network. Also, conventional UPnP devices and applications use a relatively significant amount of bandwidth due to periodic advertisement messages and size of control messages. Furthermore, many local networks have private address spaces, and since many UPnP and DLNA messages carrying address information, these protocols currently can be used only in their local network.
The UPnP Forum is an industry-initiative designed to enable simple and robust connectivity among consumer electronics, intelligent appliances and mobile devices from different vendors. UPnP specifications typically define two kinds of logical devices: controlled devices and control points. Controlled devices respond to requests from control points. Multiple logical devices may reside in a physical endpoint simultaneously. Additionally, multiple services may exist on a given logical device. Once a device has an IP address, control points rely on periodic announcements or advertisements (to multicast address 239.255.255.250 and SSDP port 1900) from other logical devices and their services, using NOTIFY messages to enable discovery and maintain liveliness. Devices and services also respond to search queries called M-SEARCH from control points with an HTTP OK response. While M-SEARCH is multicast, the response message is unicast to the source IP address and port that was present in the M-SEARCH packet. Once a control point has discovered a device, it may use the URL in the message from the device to obtain the device description. The device description will be in XML format and provided by the device vendor. The control point can then invoke actions on the devices and poll for values.
The UPnP Audio/Video (AV) architecture defines the mechanisms for enabling a control point to coordinate the flow of multimedia content directly between a source device, termed the MediaServer, and a sink device, termed the MediaRenderer. The UPnP AV architecture also describes services, such as a content directory service and a connection manager server that will reside in a MediaServer. Similarly, UPnP also has standardized device and service descriptions for home lighting controllers, home gateway controllers and other controller devices.
One objective of DLNA is to provide seamless interoperability for consumer electronic computing and mobile devices using a communications and control backbone based on existing technologies and standards. DLNA uses the UPnP Device Control Protocol Framework, which provides relatively simple device networking in the home. DLNA Interoperability Guidelines use the UPnP AV architecture to provide the media management and control solution for devices. Two classes of DLNA-certified devices currently are defined: Digital Media Servers (DMS) and Digital Media Players (DMP) or Renderers (DMR). Player devices, e.g., television monitors and printers, can find and play or display multimedia content that is shared on a home or local network by server devices. Server devices, e.g., set-top boxes and DVRs, can record and store multimedia content, and share the multimedia content on the local network.
Consider, for example, a scenario including a group of friends, each with a mobile communication device. Assume that their mobile devices each have a number of UPnP-based applications. One objective is to enable these users to securely share content and control media flow between their devices, independent of type of network connectivity, using UPnP and DLNA. For example, if one user has a photo in their mobile phone, another user should be able be access the photo using DLNA, even if the users do not share the same subnet. Also, if one of the friends in a group of friends has a DLNA device and is located in a hotspot, other friends in the group of friends should be able to access the DLNA device in the hotspot. Furthermore, the system should be able to accommodate all use cases that are possible using UPnP specifications. Also, users should be able to access data from their local network DLNA devices using their mobile device when outside their local network. For example, a first user should be able to initiate a session between a home set top box and a second user's mobile device.
However, each user may potentially obtain service from a different access provider, and thus likely will be part of different access networks or subnets. A subnet typically is considered to be a physical network that forms a broadcast domain and shares a single IP address prefix, and often is served by one router. However, even if the users are part of or use the same access subnet, their ability to perform local multicast is relatively limited or non-existent. For example, a 3G access network will not allow a device to send periodic local multicast announcements because such would reduce network bandwidth and can induce battery drain by waking other devices from their respective idle modes. Also, devices in the home or local network may have only an IP address resulting from a Network Address Translation (NAT). Alternatively, the devices may be off-the-shelf devices, thus, it may not be possible to add new capabilities to the devices or to modify the behavior of the devices.
As discussed, UPnP uses periodic multicast announcements for device discovery. UPnP assumes the presence of a local broadcast network. When mobile devices with a wireless broadband interface, such as 3G or WiMax, have a UPnP stack, some applications, such as DLNA media players, cannot be used to share multimedia content directly between mobile devices. For example, if there are a group of friends in different networks (or even in the same network), they cannot use DLNA applications to share and/or control multimedia content between their phones.
Conventional methods exist that bridge UPnP devices. U.S. Patent Publication No. 20070127394 (A1) discloses a scheme for bridging a Bluetooth™ network with a UPnP device in an 802.11 network using an Inter-Working unit (IWU). The IWU prevents the transmission of UPnP multicast messages from the 802.11 domain into the Bluetooth domain. Thus, only if the Bluetooth devices in the Bluetooth domain query for a UPnP device or service will that request reach the 802.11 domain, and the response will reach the device that initiated the query. U.S. Patent Publication No. 20070143488 (A1) discloses a method for bridging a device in an Internet Protocol Multimedia Subsystem (IMS) network with a UPnP domain. The method involves the creation of a virtual control point that can look for local devices and communicate such information to the remote device, using session initiation protocol (SIP).
Conventional work involved with sharing multimedia content between mobile devices typically has focused on local area sharing using Bluetooth applications or using SIP over wide-area networks. Similarly, to access in-home content, conventional methods have proposed the use of SIP to access in-home devices. For instance, the SIP subscribe and notify mechanism is used to communicate the profile and status of devices in a home network to remote devices. Also, another conventional system uses a home gateway with an SIP-UPnP bridge therein to accesses in-home DLNA-certified devices from remote devices.
One conventional method proposes a scheme to extend UPnP for wide-area service discovery using an Intentional Naming System (INS). The method uses an UPnP-INS transcoder to convert UPnP M-Search queries to INS queries. The method creates a virtual device in the local network for remote devices. Another system tunnels all UPnP packets sent in a home network to a remote device. Such systems typically have significant bandwidth overhead and restrictions, such as accommodating only a single home network and not accommodating sharing between mobile devices.
Despite these existing methods and systems, there remains a need for securely sharing and controlling the flow of multimedia content between network devices, such as UPnP/DLNA devices, across different local networks or subnets, independent of the type of network connectively of the devices. Also, it is desirable for end users to be able to control and access data from their local network devices, such as DLNA devices, from outside of their local network, e.g., using their mobile communication device in a second local network or a public network. Similarly, end users should be able to access information in a remote device, such as a mobile communication device, or another device that may be connected to the remote device.